package cn.wolfcode.luowowo.article.service;

import cn.wolfcode.luowowo.article.domain.Scenic;
import cn.wolfcode.luowowo.article.query.ScenicQuery;
import org.bson.types.ObjectId;
import org.springframework.data.domain.Page;

import java.util.List;

public interface IScenicService {
    /**
     * 查询top5景点
     * @param destId
     * @return
     */
    List<Scenic> queryScenicTop5ByDestId(Long destId);

    /**
     * 通过id查景点
     * @param id
     * @return
     */
    Scenic findById(ObjectId id);

    /**
     * 增加景点的点评数
     * @param scenicId
     */
    void increaseCommentNum(String scenicId);

    /**
     * 获取景点及其关联景点
     * @param scenicId
     * @return
     */
    Scenic getScenicWithRefScenics(ObjectId scenicId);

    /**
     * 查询目的地排名前10景点
     * @param destId
     * @return
     */
    List<Scenic> queryHotTop10(Long destId);

    /**
     * 分页查询目的地的景点
     * @param qo
     * @return
     */
    Page<Scenic> query(ScenicQuery qo);
}
